#include<bits/stdc++.h>
using namespace std;


int n;
bool st[10];  //用st数组判断某个数字是否使用过.
vector<int> path;
void dfs(int loc){
    if (loc > n){
        for (auto i : path){
            printf("%d ", i);
        }
        cout << endl;
        return;
    }
    for (int i = 1; i <= n; i++){
        if (!st[i]) {
            st[i] = true;
            path.push_back(i);
            dfs(loc + 1);
            path.pop_back();
            st[i] = false;
        }
    }
}

int main(){
    cin >> n;
    dfs(1);
}